/**
 * 统一错误处理
 * @param options
 * @param app
 * @returns {sessionRedis}
 */
module.exports = (options, app) => {
    return function* errorHandler(next) {
        try {
            yield next;
        } catch (err) {
            // 注意：自定义的错误统一处理函数捕捉到错误后也要 `app.emit('error', err, this)`
            // 框架会统一监听，并打印对应的错误日志
            this.app.emit('error', err, this);
            // 自定义错误时异常返回的格式
            //要根据用户请求类型判断用要
            if (this.acceptJSON){
                this.body = {
                    code: 500,
                    data: this.app.config.env === 'prod' ? '' : this.request,
                    message: err.message ? err.message : '出错了',
                };
            }

        }

    }
};
